package com.bwsoft.admin.service;

import java.io.File;
import java.util.List;

import com.bwsoft.admin.domain.Account;
import com.bwsoft.admin.domain.Standard;
import com.bwsoft.admin.domain.valueObject.StandardListVO;
import com.bwsoft.admin.domain.valueObject.StandardVO;
import com.bwsoft.api.pojo.ResponsePojo;
import com.bwsoft.model.Message;

public interface StandardService {
	public static final String NAME = "StandardServiceImpl";
	
	
	/**
	 * 分页查询标准内容
	 * @return 标准内容的集合
	 */
	List<Standard> findData(Integer page, Integer rows, String s_type, String s_field, String s_uploader, String s_standardName, String s_status, String s_displayStatus);
	
	/**
	 * 查询标准总数
	 * 
	 * @return	 标准总数
	 */
	int getTotalCount(String s_type, String s_field, String s_uploader, String s_standardName, String s_status, String s_displayStatus);
	
	/**
	 * 保存/修改
	 * @param Standard
	 * @return
	 */
	Message saveOrUpdateStandard(Standard standard,File annex,String annexFileName);

	/**
	 * 查询要修改项
	 * @param id
	 * @return
	 */
	Standard standardModifyInfo(Integer id);
	
	/**
	 * 审核通过
	 * @param standardIds 所有选中的选项id
	 * @return
	 */
	Message auditPass(String standardIds);
	
	/**
	 * 审核不通过
	 * @param standardIds 所有选中的选项id
	 * @return
	 */
	Message auditNoPass(String standardIds);
	
	/**
	 * 显示
	 * @param standardIds 所有选中的选项id
	 * @return
	 */
	Message show(String standardIds);
	
	/**
	 * 隐藏
	 * @param standardIds 所有选中的选项id
	 * @return
	 */
	Message hide(String standardIds);
	
	/**
	 * 批量上传
	 * @param Standard
	 * @return
	 */
	Message saveBatch(Standard standard,File annex,String annexFileName);
	
	/**
	 * 删除
	 * @param standardIds 所有选中的选项id
	 * @return
	 */
	Message remove(String standardIds);
	
	/**
	 * 获取Vo
	 * 
	 * @param standards
	 * @return
	 */
	List<StandardVO> getVo(List<Standard> standards);

	List<StandardListVO> getListVo(List<Standard> standards);

	long getCount(String s_type, String s_field, String s_uploader,
			String s_standardName, String s_status, String s_displayStatus);

	ResponsePojo saveOrUpdateStandard(String standardName, Account account,
			String field, String type, File stdfile, String stdfileName);
	
	//2016.08.14新加功能 未登录时显示与隐藏
	/**
	 * 未登录时状态改为显示
	 * @param standardIds 所有选中的选项id
	 * @return
	 */
	Message noLoginShow(String standardIds);
	
	/**
	 * 未登录时状态改为隐藏
	 * @param standardIds 所有选中的选项id
	 * @return
	 */
	Message noLoginHide(String standardIds);
	
	
}
